home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / RTGMaster / goodies / rtggadtools / include / rtggadtools.h < prev   
Encoding:
C/C++ Source or Header  |  1998-06-24  |  2.4 KB  |  68 lines

  1. #ifndef __RTGGADTOOLS_H
  2. #define __RTGGADTOOLS_H
  3.  
  4. struct RGGadget {
  5.     struct RGGadget *Next;          /* Link Field */
  6.     UWORD LeftEdge, TopEdge;        /* Left/TopEdge of gadget hit box */
  7.     UWORD Width, Height;            /* Dimensions of hit box */
  8.     ULONG Flags;                    /* Flags. See below */
  9.     UWORD Key;                      /* Currently not in use */
  10.     APTR GadgetRender;              /* The Object to render for the gadget */
  11.     APTR SelectRender;              /* SelectRender Object */
  12.     ULONG TextPen;                  /* Pen to render in */
  13.     ULONG HiPen;
  14.     ULONG LoPen;                    /* Pens for frames */
  15.     APTR HitTest;                   /* Non-Null means custom hit handler */
  16.     APTR DownAction;                /* Callback for gadget press */
  17.     APTR UpAction;                  /* Callback for gadget release */
  18.     ULONG BackGnd, Hilite;
  19.     APTR UserData;                  /* UserData field for your own purpose */
  20. };
  21.  
  22. typedef struct RGGadget *RGGadget;
  23.  
  24. #define RGF_UpAction            (1L<<0)
  25. #define RGF_DownAction          (1L<<1)
  26. #define RGF_TextGadget          (1L<<2)
  27. #define RGF_ImageGadget         (1L<<3)
  28. #define RGF_Selected            (1L<<4)
  29. #define RGF_Disabled            (1L<<5)
  30. #define RGF_ToggleSelect        (1L<<6)
  31.  
  32. /* TagItem Defines */
  33. #define RGG_BASE                TAG_USER
  34. #define RGG_RenderText          RGG_BASE+1
  35. #define RGG_ActiveKey           RGG_BASE+2
  36. #define RGG_SelectRender        RGG_BASE+3
  37. #define RGG_UpAction            RGG_BASE+5
  38. #define RGG_DownAction          RGG_BASE+6
  39. #define RGG_LeftEdge            RGG_BASE+7
  40. #define RGG_TopEdge             RGG_BASE+8
  41. #define RGG_Width               RGG_BASE+9
  42. #define RGG_Height              RGG_BASE+10
  43. #define RGG_RenderHook          RGG_BASE+11
  44. #define RGG_HitTest             RGG_BASE+13
  45. #define RGG_UserData            RGG_BASE+14
  46. #define RGG_Flags               RGG_BASE+15
  47. #define RGG_HiPen               RGG_BASE+16
  48. #define RGG_LoPen               RGG_BASE+17
  49. #define RGG_TextPen             RGG_BASE+18
  50. #define RGG_ControlKey          RGG_BASE+19
  51. #define RGG_BackColor           RGG_BASE+20
  52. #define RGG_HiliteColor         RGG_BASE+21
  53. #define RGG_RenderImage         RGG_BASE+22
  54.  
  55. struct RGAnchor {
  56.     APTR RtgScreen;
  57.     RGGadget first;
  58.     BOOL DirectColor;
  59.     APTR Buffer[3];
  60.     ULONG NumBuffers;
  61. };
  62.  
  63. #define RGS_Disable     0L
  64. #define RGS_Enable      1L
  65. #define RGS_Toggle      2L
  66.  
  67. #endif
  68.